class Animal {
  constructor(name) {
    this.name = name;
  }
  run() {
    return `${this.name} is running`
  }
}

const shake = new Animal('lily')
console.log(shake.run())


class Dog extends Animal {
  bark() {
    return `${this.name} is barking`
  }
}

const xiaoBao = new Dog('xiaoBao')
console.log(xiaoBao.run())
console.log(xiaoBao.bark())


class Cat extends Animal {
  static categories = ['ma'];
  constructor(name) {
    super(name);
    console.log(this.name)
  }
  run() {
    return `Meow, `+ super.run()
  }
}
const mao = new Cat('mao')
console.log(mao.run())
console.log(Cat.categories)
